<?php
/**
 * 分布式调出单
 * Created by PhpStorm.
 * User: echa
 * Date: 2018/2/1
 * Time: 14:36
 */
namespace App\Services\Warehouse;


class DistributedTransferService extends PublicService {

    //分布式调出表单ID
    //protected $Formid = 'STK_TRANSFEROUT';


    public function __construct()
    {
        parent::__construct(Config('k3cloud.DistributedTransfer'));
    }


    /**
     *单据列表查询
     * 1.data：Json格式数据（详情参考Json格式数据）（必录）
    1.1.FormId：业务对象表单Id（必录）
    1.2.FieldKeys：字段keys，字符串类型用逗号分隔，比如"key1,key2..."（必录）
    1.3.FilterString：过滤（非必录）  FNumber=''
    1.4.OrderString：排序字段（非必录）
    1.5.TopRowCount：总行数（非必录）
    1.6.StartRow：开始行（非必录）
    1.7.Limit：最大行数，不能超过2000（非必录）
     */
    public function ExecuteBillQueryDistributedTransfer($FieldKeys='',$FilterString='',$OrderString='',$TopRowCount=0,$StartRow=0,$Limit=20)
    {
            if (empty($FieldKeys)) {
                $FieldKeys='FBillNo,FCreatorId,FCreateDate,FMaterialName,FMaterialID,FSrcStockLocId,FQty';
            }
            return $this->ExecuteBillQuery($FieldKeys,$FilterString,$OrderString,$TopRowCount,$StartRow,$Limit);
    }

    /**
    提交
     *
     * 1.formid：业务对象表单Id（必录）
    2.data：Json格式数据（详情参考Json格式数据）（必录）
    2.1.CreateOrgId：创建者组织，字符串类型（非必录）
    2.2.Numbers：单据编号集合，格式["billNo1","billNo1",...]，数组类型（必录）
     */

    public function  SubmitDistributedTransfer($Numbers=[]){
        return $this->submit($Numbers);
    }

    /**
    审核
     * 1.formid：业务对象表单Id（必录）
    2.data：Json格式数据（详情参考Json格式数据）（必录）
    2.1.CreateOrgId：创建者组织，字符串类型（非必录）
    2.2.Numbers：单据编号集合，格式["billNo1","billNo1",...]，数组类型（必录）
     */
    public function AuditDistributedTransfer($Numbers=[]){
        return $this->audit($Numbers);
    }

    /***
     * 下推分布式调入单
     * @param array $Numbers
    @author echa
     * @return array|bool
     */
    public function PushDistributedTuning($Numbers=[]){
        if(count($Numbers)<=0){
            return false;
        }
        return $this->PushedDown($Numbers,config('k3cloud.PushDistributedTuning'),config('k3cloud.DistributedTuning'));
    }
}